package com.wyx.suanfa;

/**
 * @author 王艺锡
 * @version 1.0
 */
public class maximalRectangle {
    //给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵，找出只包含 1 的最大矩形，并返回其面积。
    public static void main(String[] args) {

    }
}
/*
* class Solution {
    public int maximalRectangle(char[][] matrix) {
        if(matrix.length == 0){
            return 0;
        }
        //保存以当前元素结尾的横向连续1的个数
        int[][] width = new int[matrix.length][matrix[0].length];
        int maxArea = 0;

        for(int row = 0;row < matrix.length;row++){
            for(int col = 0;col < matrix[0].length;col++){
                if(matrix[row][col] == '1'){
                    if(col == 0){//如果是第一列
                        width[row][col] = 1;
                    }else {//如果不是第一列，那么连续1的个数就等于左边个数+1
                        width[row][col] = width[row][col - 1] + 1;
                    }
                }else{
                    width[row][col] = 0;
                }

                //查看以当前元素为右下角的全是1的矩阵大小
                int minWidth = width[row][col];//记录当前列中最小的元素
                for(int i = row;i >= 0;i--){
                    //高
                    int height = row - i + 1;
                    //找最小的数作为宽
                    minWidth = Math.min(minWidth,width[i][col]);
                    //更新面积
                    maxArea = Math.max(maxArea,height * minWidth);
                }
            }
        }

        return maxArea;
    }
}*/
